package com.atguigu;

import jdk.nashorn.internal.ir.IfNode;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class Redis_JedisPool {
    //定义连接池
    public static JedisPool pool = null;

    //创建连接池并获取链接
    public static Jedis getJedis(String host){
        if (pool==null){
            //创建链接池
            //主要配置
            JedisPoolConfig jedisPoolConfig =new JedisPoolConfig();
            jedisPoolConfig.setMaxTotal(10); //最大可用连接数
            jedisPoolConfig.setMaxIdle(5); //最大闲置连接数
            jedisPoolConfig.setMinIdle(5); //最小闲置连接数
            jedisPoolConfig.setBlockWhenExhausted(true); //连接耗尽是否等待
            jedisPoolConfig.setMaxWaitMillis(2000); //等待时间
            jedisPoolConfig.setTestOnBorrow(true); //取连接的时候进行一下测试 ping pong
            pool = new JedisPool(jedisPoolConfig, host);
        }
        //根据连接池获取链接
       return pool.getResource();
    }

    public static void main(String[] args) {
        //通过连接池获取链接
        Jedis jedis = getJedis("hadoop102");
        System.out.println(jedis.ping());

        //关闭链接
        jedis.close();
        //关闭连接池
        pool.close();

    }
}
